/*
  学习目标：type和interface的异同
  相同: 都可以用来定义对象类型
  不同:

  步骤：
     1. type可以定义任意类型,  interface只能用来定义对象
     2. type不能同名, interface可以
     3. type不能继承其它type, interface继承其它interface
*/

// 1. type可以定义任意类型,  💥interface只能用来定义对象
type Title = string  | number
type MyList = (string  | number)[]

// ❌
// interface Xxx = string  | number

// 2. type不能同名, interface可以
// ❌
// type Person = {
//   gender: string
// }


// 3. type不能继承其它type, interface继承其它interface
// ❌
// type BlackPerson  extends Person = {
//   run(): void
// }

// 4. type可以交叉（类似继承）  &

type Person = {
  name: string,
  age: number
}


type BlackPerson = { run(): void  } & Person

const jorden : BlackPerson = {
  run() {
    
  },
  name: "乔丹",
  age: 30
}

